/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Informacion.PuestoDeTrabajo.Controlador;

import Informacion.PuestoDeTrabajo.BEAN.PuestoDeTrabajoBEAN;
import Informacion.PuestoDeTrabajo.DAO.PuestoDeTrabajoDAO;
import Informacion.PuestoDeTrabajo.Vista.EditarPuestoDeTrabajo;
import Informacion.PuestoDeTrabajo.Vista.PuestoDeTrabajo;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import sape.MenuControlador;

/**
 *
 * @author Nilo
 */
public class EditarPuestoDeTrabajoControlador {
    
    public MenuControlador menu_controlador;
    public EditarPuestoDeTrabajo vista;
    public PuestoDeTrabajoBEAN elemento;
    
    public EditarPuestoDeTrabajoControlador(EditarPuestoDeTrabajo aThis, MenuControlador menu){
        this.vista=aThis;
        this.menu_controlador=menu;        
    }
    public EditarPuestoDeTrabajoControlador (EditarPuestoDeTrabajo aThis, MenuControlador menu_controlador, PuestoDeTrabajoBEAN elemento){
        this.vista=aThis;
        this.menu_controlador=menu_controlador;
        this.elemento=elemento;
        this.vista.tbPuestoTrabajo.setText(elemento.getPuesto());
        this.vista.tbaDescripcion.setText(elemento.getDescripcion().toString());
        this.vista.tbSueldo.setText(elemento.getSueldo().toString());                        
    }
    
    public void aceptar(){
        if (!(PuestoDeTrabajoDAO.validarPuestoTrabajo(this.vista.tbPuestoTrabajo)&& PuestoDeTrabajoDAO.validarDescripcion(this.vista.tbaDescripcion)&&PuestoDeTrabajoDAO.validarSueldo(this.vista.tbSueldo))){
            JOptionPane.showMessageDialog(this.menu_controlador.vista,"No pasó la validación");                        
            return;
        }
        PuestoDeTrabajoBEAN puesto_nuevo=new PuestoDeTrabajoBEAN (this.vista.tbPuestoTrabajo.getText(), this.vista.tbaDescripcion.getText(), Double.valueOf(this.vista.tbSueldo.getText()));
        puesto_nuevo.setId(elemento.getId());
        String mensajeDAO=PuestoDeTrabajoDAO.modificarPuestoDeTrabajo(puesto_nuevo);
        
        if (mensajeDAO.compareTo("OK") == 0) {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "Puesto de Trabajo Modificado exitosamente");
        } else {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "ERROR: " + mensajeDAO);
        }
        this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);
        PuestoDeTrabajo new_vista=new PuestoDeTrabajo(this.menu_controlador);
        this.menu_controlador.controlador_interno=new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
        
    }
    public void abrir(JFrame ventana) {
        ventana.setVisible(true);
        this.vista.setVisible(false);   
    }
public void limpiar(){
       this.vista.tbPuestoTrabajo.setText("");
       this.vista.tbaDescripcion.setText("");
       this.vista.tbSueldo.setText("");
    }
    public void cerrar() {
        this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);
        PuestoDeTrabajo new_vista=new PuestoDeTrabajo(this.menu_controlador);
        this.menu_controlador.controlador_interno=new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
    }
}
